package ch.ethz.group3.myalbum.client;

import java.util.Collection;

import ch.ethz.group3.myalbum.shared.AuthorizationModel;
import ch.ethz.group3.myalbum.shared.CommentModel;
import ch.ethz.group3.myalbum.shared.GroupModel;
import ch.ethz.group3.myalbum.shared.ImageModel;
import ch.ethz.group3.myalbum.shared.TokenModel;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface PictureServiceAsync {
	void getAlbum(String groupId, int pageLimit, int page, TokenModel token,
			AsyncCallback<Collection<ImageModel>> callback);

	void getGroups(String tags, int pageLimit, int page, TokenModel token,
			AsyncCallback<Collection<GroupModel>> callback);

	void verify(String verifierString, TokenModel token,
			AsyncCallback<TokenModel> callback);

	void getComments(String photoId, TokenModel token,
			AsyncCallback<Collection<CommentModel>> callback);

	void getAuthorization(AsyncCallback<AuthorizationModel> callback);
}
